a8e9ee
@@ -1081,9 +1081,6 @@
private static void doCopyDirectory(File srcDir, File destDir, FileFilter filter
             if (destDir.mkdirs() == false) {
                 throw new IOException("Destination '" + destDir + "' directory cannot be created");
             }
-            if (preserveFileDate) {
-                destDir.setLastModified(srcDir.lastModified());
-            }
         }
         if (destDir.canWrite() == false) {
             throw new IOException("Destination '" + destDir + "' cannot be written to");
@@ -1098,6 +1095,11 @@
private static void doCopyDirectory(File srcDir, File destDir, FileFilter filter
                 }
             }
         }
+
+        // Do this last, as the above has probably affected directory metadata
+        if (preserveFileDate) {
+            destDir.setLastModified(srcDir.lastModified());
+        }
     }
 
     //-----------------------------------------------------------------------
